About the DabCounter Bot
The Dab Counter Bot is a Discord bot built using discord.py that gamifies voice channel interactions by tracking “dabs” added by users. Its key features include:
-
Voice Channel Integration:
/dabcount
: The bot joins the voice channel of the user who invokes the command.- The bot monitors the voice channel and employs smart disconnect logic—delaying disconnection (with repeated checks) if the channel appears empty, and even attempts to reconnect if a disconnect occurs while users are still present.
-
Dab Tracking & Management:
/add-dab
&/add-dab-multiple
: Users can increment the dab count (single or multiple dabs). The bot updates its nickname to reflect the current count./remove-dab
: If a user accidentally adds an incorrect number via/add-dab-multiple
, they have 60 seconds to remove that addition. Each user’s last addition is recorded separately, allowing only the user who made the addition to undo it.
-
Leaderboard (Disabled by default):
- The bot tracks individual user contributions (session contributions) and, when a voice session ends, posts a leaderboard embed in a configurable channel.
-
The leaderboard embed displays:
- Total Dabs for the session.
- The top 5 contributors, with the top contributor’s profile picture used as the embed thumbnail.
-
Admin Controls:
-
/dab-leaderboard
&/dab-leaderboard-channel
: These admin commands allow server administrators to enable/disable the leaderboard and set the channel for leaderboard postings.- It is recommended to restrict these commands via Settings → Integrations
- If you enable the leaderboard but do not specify a channel the Leaderboard will not be posted
-
-
Welcome & Setup Guidance:
-
When the bot joins a server, it attempts to DM the admin/mod who added it (or falls back to the guild owner) with an embed explaining:
- The four user commands for joining a voice channel and adding dabs.
- The two admin commands and detailed steps on how to restrict their usage via Discord’s server settings.
-
When the bot joins a server, it attempts to DM the admin/mod who added it (or falls back to the guild owner) with an embed explaining: